import java.util.Scanner;
import java.util.*;
public class Main {
   /* 给你一个下标从 0 开始的整数数组 nums 。请你从 nums 中找出和 最大 的一对数，
    且这两个数数位上最大的数字相等。
    返回最大和，如果不存在满足题意的数字对，返回 -1 。*/
   public static int seek(int[] nums) {
       Map<Integer,List<Integer>> map=new HashMap<>();
       for(int num:nums){
           //找出数位最大值
           int temp=check(num);
           //将数位最大值最为索引加入列表中
           if(!map.containsKey(temp)){
               //不包含创立新列表
               map.put(temp,new ArrayList<>());
           }
           //包含则加入到这一类的列表中
           map.get(temp).add(num);
       }
       int max=-1;//不存在则范围-1；
       //对列表数值排序
       for(List<Integer> list:map.values()){
           //对列表数值降序
           Collections.sort(list,Collections.reverseOrder());
           if(list.size()<2)//如果列表没有成对数值直接跳过
               continue;
           int result=list.get(1)+list.get(0);
           //更新最大值
           if(result>max)
               max=result;
       }
       return max;
   }
   private static int check(int num){
       int max=0;
       for(int i=num;i>0;i/=10){
           int temp=i%10;
           if(temp>max){
               max=temp;
           }
       }
       return max;
   }
    public static void main(String[] args) {
     Scanner sc=new Scanner(System.in);
     int n=sc.nextInt();
     int[] nums=new int[n];
     for(int i=0;i<n;i++){
         nums[i]=sc.nextInt();
     }
     int result=seek(nums);
     System.out.println(result);
    }
}